﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="ISchemaItem.cs" company="Data Ductus Malmö">
//   (c) 2010 - 2012 Data Ductus Malmö AB
// </copyright>
// --------------------------------------------------------------------------------------------------------------------

namespace DataDuctus.Snmp.Persistor.Core.Schema
{
  using System.Collections.Generic;

  using Lextm.SharpSnmpLib;

  /// <summary>
  /// The SchemaItem interface.
  /// </summary>
  public interface ISchemaItem : IEntity
  {
    #region Public Properties

    /// <summary>
    /// Gets or sets the children.
    /// </summary>
    IEnumerable<ISchemaItem> Children { get; set; }

    /// <summary>
    /// Gets the name space.
    /// </summary>
    string NameSpace { get; }

    /// <summary>
    /// Gets the oid.
    /// </summary>
    ObjectIdentifier Oid { get; }

    /// <summary>
    /// Gets the parent item.
    /// </summary>
    ISchemaItem ParentItem { get; }

    /// <summary>
    /// Gets the type.
    /// </summary>
    DefinitionType Type { get; }

    #endregion
  }
}